home *** CD-ROM | disk | FTP | other *** search
/ The Utilities Experience / The Utilities Experience - Volume 1.iso / software / demos / a-d / amms / mbbatch / com / edit_batch < prev    next >
Encoding:
Text File  |  1995-08-12  |  2.5 KB  |  107 lines

  1. ;
  2. ;    EDIT BATCH
  3. ;
  4. ;    $VER: 2.01 / 12-08-1995
  5. ;
  6. ;    Scriptfile zum Aendern der User-Batches.
  7. ;
  8. ;    Benoetigte AMMS-Befehle :
  9. ;    -------------------------
  10. ;    break off
  11. ;    check user
  12. ;    disk edit
  13. ;    disk execute
  14. ;    echo
  15. ;    eod
  16. ;    extern
  17. ;    if
  18. ;    on error
  19. ;    parse
  20. ;
  21. ;    Benoetigte Amiga-Dos-Befehle :
  22. ;    ------------------------------
  23. ;    echo
  24. ;
  25. ;       Variablen initialisieren :
  26. ;       --------------------------
  27. batch=""                ; Anfangsbuchstabe der Zusatzbatches
  28. filenameend=".bat"            ; Filenamenende der Zusatzbatches
  29. maxbatches=5                ; Max. Anzahl der Zusatzbatches
  30. file="login"                ; Name der Userbatch (default: login)
  31. user="'{name}'"                ; Username, dessen Batch editiert wird
  32.  
  33. ;    Programm :
  34. ;    ----------
  35.  
  36. ; Abbruch abfangen
  37.  
  38. _break off                ; Abbruchtasten sperren
  39.  
  40. ; Parameter auswerten
  41.  
  42. p2=""                    ; Username initialisieren
  43. _if os != "T" THEN _parse "Edit Batch" p0 N p1 ; User-Parameter auswerten
  44. _if os == "T" THEN _parse "Edit Batch" p0 N p1 N p2 ; Sysop-Para auswerten
  45.  
  46. _if "'p1''p2'" == "" then _goto EDIT    ; Wenn keine Para, Loginbatch edit.
  47.  
  48. ; Ueberpruefe, ob 1. Parameter eine Batch
  49.  
  50. i=maxbatches+1                ; Schleifenzaehler initialisieren
  51. LOOP:
  52. i=i-1                    ; Schleifenzaehler erniedrigen
  53. _if/i i < 1 then _goto NO_BATCH        ; Kein Batchname gefunden -> NoBatch
  54. _if p1 != "'batch''i'" then _goto LOOP    ; Batchname korrekt ? Nein -> Batch
  55.  
  56. BATCH:
  57. file="'batch''i''filenameend'"        ; Batchfilenamen erzeugen
  58.  
  59. ; Username ueberpruefen
  60.  
  61. CHECK_NAME:
  62. _if p2 == "" then _goto EDIT        ; Kein Username -> eigene Batch aendern
  63. _if os == "F" then _goto UNKNOWN_BATCH    ; Kein Sysop -> unbekannte Batch
  64. _check user "'p2'" UNKNOWN_USER        ; User unbekannt -> Fehler
  65. user=p2                    ; Username vom Parameter uebernehmen
  66.  
  67. ; Datei erzeugen, falls nicht vorhanden und dann editieren
  68.  
  69. EDIT:
  70. _extern echo >>"mbudir:'user'/'file'"    ; File erzeugen, wenn nicht vorhanden
  71. _disk edit "mbudir:'user'/'file'"    ; File editieren
  72. _eod                    ; Ende
  73.  
  74. ; Wenn keine Batchdatei gefunden, dann nach Name pruefen
  75.  
  76. NO_BATCH:
  77. _if p2 != "" then _goto UNKNOWN_BATCH    ; 2.Para vorhanden -> unbekannte Batch
  78. p2=p1                    ; 2. Para = 1. Para
  79. _goto CHECK_NAME            ; Nach Name pruefen
  80.  
  81. ; Fehlerbehandlungsroutinen
  82.  
  83. UNKNOWN_BATCH:
  84. _gosub LOADTEXT
  85. _if/i maxbatches != 0 then _goto UNKNOWN_BATCH_1
  86. _echo T_NoBatch
  87. _eod
  88.  
  89. UNKNOWN_BATCH_1:
  90. _echo T_UnknownBatch
  91. _eod
  92.  
  93. UNKNOWN_USER:
  94. _gosub LOADTEXT
  95. _echo T_UnknownUser
  96. _eod
  97.  
  98. ; Unterroutine: Lade sprachspezifische Texte
  99.  
  100. LOADTEXT:
  101. LANG={DEFLANGUAGE}
  102. _check file "mbbatch:com/'{ALANGUAGE}'/edit_batch.bat" GETTEXT
  103. LANG={ALANGUAGE}
  104. GETTEXT:
  105. _disk execute/keep "mbbatch:com/'LANG'/edit_batch.bat"
  106. _return
  107.